package com.michale.system.mapper.system;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.michale.common.domain.system.NoticeEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Author michale
 * @apiNote 通知公告表 持久层
 */
@Mapper
public interface NoticeMapper extends BaseMapper<NoticeEntity> {


    /**
     * 查询公告信息
     *
     * @param noticeId 公告ID
     * @return 公告信息
     */
    NoticeEntity selectNoticeById(Long noticeId);

    /**
     * 查询公告列表
     *
     * @param noticeEntity 公告信息
     * @return 公告集合
     */
    List<NoticeEntity> selectNoticeList(NoticeEntity noticeEntity);

    /**
     * 新增公告
     *
     * @param noticeEntity 公告信息
     * @return 结果
     */
    int insertNotice(NoticeEntity noticeEntity);

    /**
     * 修改公告
     *
     * @param noticeEntity 公告信息
     * @return 结果
     */
    int updateNotice(NoticeEntity noticeEntity);

    /**
     * 删除公告
     *
     * @param noticeId 公告ID
     * @return 结果
     */
    int deleteNoticeById(Long noticeId);

    /**
     * 批量删除公告信息
     *
     * @param noticeIds 需要删除的公告ID
     * @return 结果
     */
    int deleteNoticeByIds(Long[] noticeIds);
}
